﻿using Core.Proxy.Enums;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Core.Proxy.Attributes.InterceptorAttributes.BaseAttributes
{
    public abstract class BaseCacheAttribute : Attribute
    {
        /// <summary>
        /// 过期时间
        /// </summary>
        public int ExpireMillisecond { get; set; }
        /// <summary>
        /// 常量key
        /// </summary>
        public string ConstKey { get; set; }
        /// <summary>
        /// 变量keylist(此key指参数)
        /// 如果需要使用参数的值，声明格式如下:{参数名称}.{属性名称}(如果是值类型就不用后面的属性)
        /// </summary>
        public List<string> DynamicParamKeys { get; set; } = new List<string>();
        /// <summary>
        /// 缓存key前缀
        /// </summary>
        public CacheKeyPrefix CacheKeyPrefix { get; set; }
    }
}
